package com.thb.pay.engine.request.impl;

import com.thb.pay.engine.request.RuleCaseRequest;
import com.thb.pay.engine.request.RuleCheckRequest;
import com.thb.pay.engine.request.RuleRequest;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;
import java.util.List;

/**
 * BaseRuleRequest
 *
 * <p>抽象类实现 基础规则请求内容</p>
 *
 * @author lucky
 * @since 2019-11-08
 */
public abstract class BaseRuleRequest<ID extends Serializable> extends BaseRuleNode<ID> implements RuleRequest<ID> {

    protected RuleCheckRequest ruleCheckRequest;

    protected List<RuleCaseRequest<ID>> ruleCaseRequestList;


    public RuleCheckRequest getRuleCheckRequest() {
        return ruleCheckRequest;
    }

    public void setRuleCheckRequest(RuleCheckRequest ruleCheckRequest) {
        this.ruleCheckRequest = ruleCheckRequest;
    }

    @Override
    public List<RuleCaseRequest<ID>> getRuleCaseRequestList() {
        return ruleCaseRequestList;
    }

    public void setRuleCaseRequestList(List<RuleCaseRequest<ID>> ruleCaseRequestList) {
        this.ruleCaseRequestList = ruleCaseRequestList;
    }

    @Override
    public String getCode() {
        return null;
    }


    @Override
    public String getDisplay() {
        return null;
    }

    @Override
    public String scripts() {
        return null;
    }


    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this, ToStringStyle.SIMPLE_STYLE);
    }
}
